package sword_offer;

import common.ListNode;

/**
 * @ClassName _52getIntersectionNode
 * @Description: 本题与主站 160 题相同：https://leetcode-cn.com/problems/intersection-of-two-linked-lists/
 *
 * 来源：力扣（LeetCode）
 * 链接：https://leetcode.cn/problems/liang-ge-lian-biao-de-di-yi-ge-gong-gong-jie-dian-lcof
 * 著作权归领扣网络所有。商业转载请联系官方授权，非商业转载请注明出处。
 * @Author: yongliang.ma
 * @Create_time:2022/10/13 10:32
 */
public class _52getIntersectionNode {


    // 游标到末尾后 转换另一个链表头节点，即便是没有公共节点，二者最终也是同为null
    ListNode getIntersectionNode(ListNode headA, ListNode headB) {
        ListNode aCursor = headA, bCursor = headB;

        while (aCursor != bCursor){
            aCursor = aCursor == null?headB:aCursor.next;
            bCursor = bCursor == null?headA:bCursor.next;
        }

        return aCursor;
    }
}
